Skip to content

feat: add lightweight real-time native voice preview - #1

Draft
ceastld wants to merge 4 commits into
mainfrom
agent/native-voice-preview
Draft

feat: add lightweight real-time native voice preview#1
ceastld wants to merge 4 commits into
mainfrom
agent/native-voice-preview

Conversation

@ceastld

@ceastld ceastld commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • adds a minimal Windows WPF microphone app under native-app/
  • streams 16 kHz PCM chunks every 40 ms into sherpa-onnx OnlineRecognizer and renders partial results while the user speaks
  • uses a Chinese Zipformer CTC INT8 model (25.1 MiB) with endpoint reset and final right-context flushing
  • supplies initial left context and removes long near-duplicate text at endpoint boundaries
  • keeps inference off the UI and NAudio callback threads, validates model files by size and SHA-256, and supports resumable downloads
  • adds a streaming smoke benchmark, package script, architecture notes, and Windows Actions artifact

Why

This establishes a smaller, deterministic real-time path before adapting voice input to QuickerPc/Quicker. The preview intentionally excludes global hotkeys and automatic text injection so streaming stability, partial latency, recognition quality, and package size can be evaluated independently.

Measured baseline

  • 25.1 MiB streaming model versus 228.45 MiB SenseVoice model (about 89% smaller)
  • 5.00 s Chinese WAV produced 9 transcript updates; first partial at about 0.57 s with real-time chunk playback
  • 272 s continuous sample completed with 306 updates; endpoint overlap was merged without duplicate phrases
  • model-loaded WPF process: about 280 MiB working set / 231 MiB private memory
  • framework-dependent publish: 21.4 MB directory / 8.1 MB zip

Validation

  • dotnet build native-app/VoxType.Native.slnx -c Release --no-restore — 0 warnings, 0 errors
  • scripts/validate-models-catalog.ps1 — native streaming catalog valid
  • repeated 5 s real-time WAV streaming smoke — stable final text across chunk timing
  • 272 s accelerated streaming smoke — 0.032 RTF with endpoint resets and no boundary duplicate
  • published WPF startup — model loaded, controls exposed, window responsive

@ceastld ceastld changed the title feat: add lightweight native voice preview feat: add lightweight real-time native voice preview Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant